package org.example.service;

import org.example.pojo.ExpireGoodsVo;
import org.example.pojo.Goods;
import org.example.pojo.GoodsOverdueVO;
import org.example.pojo.PageBean;

import java.util.List;

public interface GoodsService {
    /**
     * 分页查询
     * @param page
     * @param pageSize
     * @param categoryId
     * @param goodsName
     * @param vendorId
     * @return
     */
    PageBean<Goods> list(Integer page, Integer pageSize, Integer categoryId, String goodsName,Integer vendorId);

    /**
     * 添加
     * @param goods
     */
    void add(Goods goods);

    /**
     * 修改
     * @param goods
     */
    void update(Goods goods);

    void delete(Integer id);


    /**
     * 查询库存预警商品
     */
    PageBean<Goods> list2(Integer pageNum, Integer pageSize, Integer categoryId, String goodsName, Integer vendorId);

    /**
     * 查询临期或过期商品
     */
    List<GoodsOverdueVO> list3();

    /**
     * 批量删除
     */
    void batchDelete(List<Integer> ids);


    /**
     * 分页查询过期商品
     */
    PageBean<ExpireGoodsVo> expireList(Integer pageNum, Integer pageSize, String goodsName, Integer category);

    /**
     * 查询所有商品
     */
    List<Goods> getAllGoods();
}
